Integration of location logs, gps signals, and spatial resources for identifying user activities, goals, and context

ABSTRACT

Described are methods that utilize a geographic location technology (e.g., GPS) to determine user location data, and existing network-based websites (e.g., Internet websites) for searching and accessing data related to the location data such that the user context can be developed and stored. A location component is provided that determines location data of a wireless communications device of a user. A context component is provided that accesses context data based on the location data to define a context in which the device is located. Activities, goals, and overall context of a user can be inferred through statistical fusion of multiple sources of evidence. The context data is presented to the user via the wireless device such that the user can make decisions as to where to go, for example. User preferences can be accessed and applied to filter context data according to what the user desires to see and access.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/040,067, filed Mar. 3, 2011, entitled “INTEGRATION OF LOCATION LOGS,GPS SIGNALS, AND SPATIAL RESOURCES FOR IDENTIFYING USER ACTIVITIES,GOALS, AND CONTEXT” (Atty. Dkt. No. 311738.02), which is a continuationof U.S. patent application Ser. No. 11/172,474 (Atty. Docket No.311738.01), entitled “INTEGRATION OF LOCATION LOGS, GPS SIGNALS, ANDSPATIAL RESOURCES FOR IDENTIFYING USER ACTIVITIES, GOALS AND CONTEXT,”filed on Jun. 30, 2005, now U.S. Pat. No. 7,925,995, issued Apr. 12,2011. The entireties of the above-noted applications/patents areincorporated by reference herein.

This application is also related to U.S. Pat. No. 7,647,171, issued Jan.12, 2010, entitled “LEARNING, STORING, ANALYZING, AND REASONING ABOUTTHE LOSS OF LOCATION-IDENTIFYING SIGNALS,” filed on Jun. 29, 2005, andU.S. Pat. No. 7,327,245, issued Feb. 5, 2008, entitled “SENSING ANDANALYSIS OF AMBIENT CONTEXTUALSIGNALS FOR DISCRIMINATING BETWEEN INDOORAND OUTDOOR LOCATIONS,” filed on Nov. 22, 2004. The entireties of theabove-noted applications are incorporated by reference herein.

BACKGROUND

As computing moves off the desktop into the hands of mobile users, it isbecoming more important for mobile devices to be aware of the user'scontext. Important pieces of context include the user's location,activities, nearby people and devices, and mode of transportation, ifany. This knowledge can in turn be used by mobile devices to displayreminders, to configure themselves for use with other devices, and tobehave in a way that is appropriate for the surrounding environment(e.g., turn off cell phone ringer) or subcontexts of the surroundingenvironment such as whether particular states or transitions amongstates are occurring within the environment.

One aspect of context concerns whether or not the user (and the device)is inside or outside of a building or structure. For example, knowledgeof such information can be used to facilitate determining the user'slocation (e.g., in a building or structure, in a particular building orstructure, or in one of a set of known buildings or structures) and theuser's mode of transportation (e.g., in a bus, car or airplane). Suchknowledge can also be used to conserve power on systems that do notprovide useful services inside buildings or outside. For example,because GPS technology typically fails to operate inside a structurebecause GPS satellite signals cannot penetrate the structure,determination of the likelihood that a user is inside can be used toturn off a handheld GPS subsystem or put the handheld system into areduced-power mode whereby it probes for the absence of satellitesignals periodically so as to conserve the batteries of the GPS system.When sufficient GPS signal strength is again detected, the handheldsystem resumes full power to the GPS subsystem.

Another aspect of context is related to a larger scale, that is, urbancanyons. Knowledge of where the user has traveled, currently is, and isheading in an urban canyon, which includes structures such asmulti-story buildings (principally, and whether the user is inside oroutside of the building), but also include trees, hills, and tunnels(generally), can be of value to the user and to companies that seek tobenefit economically by knowledge of the user location by providinglocation-based services to the user.

Conventional location-based services use knowledge of a user location toindex into services and data that are likely to be useful at thatlocation. For instance, a conventional reminder application like maygive the user relevant information at a given location, such as “You'renear a grocery store, and you need milk at home.” Another conventionalapplication, known as an “electronic graffiti” system supports a userwho chooses to leave electronic notes (for him/her or others) that areassociated with a particular location, such as “There is a better Thairestaurant one block north of here.” Additionally, location-based tourguide applications offer relevant information about an exhibit or siteat which the user is standing. These and most other location-basedservices share a need for a custom database dedicated to storing andserving data for specified locations.

In other words, reminder systems must have reminders, electronicgraffiti systems need digital tags, and tour guide systems need siteinformation, each of which require a custom, location-sensitive databasethat must be built especially for the application. Thus, deploymentcosts reduce the initial appeal of such services. While a custom datastore of location-indexed data can lead to interesting applications,there is already a wealth of location-tagged data already available onthe Internet that can be easily exploited to create compellinglocation-aware applications without the data deployment costs oftraditional applications of this type.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosed innovation. This summaryis not an extensive overview, and it is not intended to identifykey/critical elements or to delineate the scope thereof. Its solepurpose is to present some concepts in a simplified form as a prelude tothe more detailed description that is presented later.

Disclosed and claimed herein, in one aspect thereof, is architecturethat utilizes a geographic location technology (e.g., GPS) to determineuser location data, and existing network-based websites (e.g., Internetwebsites) for searching and accessing data related to the location datasuch that the user context can be developed and stored. In furtherancethereof, the architecture includes a location component that determineslocation data of a wireless communications device of a user and acontext component that accesses context data based on the location datato define a context in which the device is located. The context data ispresented to the user via the wireless device such that the user canmake decisions as to where to go, for example. User preferences can beaccessed and applied to filter context data according to what the userdesires to see and access. It is to be appreciated that the geographiclocation technology can also include, for example, WiFi triangulation,cellular telephone triangulation, radio frequency signal strengths, anddigital television signals.

In another aspect of the subject invention there is provided a Bayesiannetwork employed for determining user context. The Bayesian networkprocesses data such as latitude/longitude location data, barometric data(for altitude determination), temperature, motion, device health data,velocity (and mean velocity) data, GPS shadow information, and locationresources data, for example. Reliability analysis is performed todetermine the reliability of particular data.

In yet another aspect thereof, a machine learning and reasoningcomponent is provided that employs a probabilistic and/orstatistical-based analysis to prognose or infer an action that a userdesires to be automatically performed.

In still another aspect of the invention, power management is employedto manage device power according to the user context, location data(e.g., in communications shadow or not), and other measured and inferredparameters.

In other aspects of the subject invention, three applications aredescribed that benefit from the location and context awarenessarchitecture. A first application, a “context resolver”, infers a usercontext based on his or her GPS coordinates, queries from an Internetmapping service, and general Internet searches. It is assumed the useris equipped with a GPS receiver and Internet-connected computer suchthat using the lat/long data, software can be employed to compute thenearest street address. This first application is designed to giveinformation about a mobile user's immediate surroundings.

A second application includes pointing a pose-sensitive query device ata scene of interest and obtaining a list of businesses that are situatedalong that direction. The second application is based on a device (or acombination of intercommunicating devices) containing a GPS receiver,electronic compass, and network connection. The user physically pointsthe device at something and issues a query. The second application usesa network-based mapping service to find businesses in the direction ofpointing, using the GPS coordinates and the electronic compass. It alsoallows a mobile user to point toward an outside object and discover whatis inside or behind it.

A third application builds a map and clickable links to helpautomatically annotate a trip based on GPS coordinates. A computingdevice is employed to access a network of existing websites (e.g., theInternet), using location data in the form latitude/longitudecoordinates as search terms to find websites that process thecoordinates. User preferences, as accessed, can also be used to filterand further define the user context at this location. In other words,for each set of coordinates, the user context can be defined in terms ofnearby streets, nearby businesses, environment, and so on. The contextinformation is used to generate a map of where the user has been, and inmore robust implementations, predictions on where the user is likely tohead. The map can be annotated according to user preferences, andstored.

In other aspects of the disclosed innovation, there are provided methodsfor inferring a user context from location and other sensor data, andthen using this information in a useful way. Additionally, Web pages arefound that are relevant to the user's current location or direction oftravel. As well, a trip can be automatically annotated based ongeographic location information of the traveler, Web services, and Websearches.

To the accomplishment of the foregoing and related ends, certainillustrative aspects of the disclosed innovation are described herein inconnection with the following description and the annexed drawings.These aspects are indicative, however, of but a few of the various waysin which the principles disclosed herein can be employed and is intendedto include all such aspects and their equivalents. Other advantages andnovel features will become apparent from the following detaileddescription when considered in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system that facilitates location-based services anduser context awareness.

FIG. 2 illustrates a methodology of providing location-based servicesand user context awareness.

FIG. 3 illustrates a dynamic Bayesian network for location and contextprocessing.

FIG. 4 illustrates a more detailed methodology of location and contextawareness.

FIG. 5 illustrates a diagram of a system that employs location andcontext awareness.

FIG. 6 illustrates a wireless computing device that operates inaccordance with the subject innovation.

FIG. 7 illustrates a methodology of facilitating location and contextawareness.

FIG. 8 illustrates a methodology of employing existing network data toconvert lat/long data for web searches that return web pages relevant tothe user's immediate surroundings.

FIG. 9 illustrates a screenshot of client and server parts that processlat/long data points measured from an urban drive with a GPS receiverproviding recordings at several different locations.

FIG. 10 illustrates a screenshot giving the result of a searchautomatically performed on the resolved street address.

FIG. 11 illustrates a screenshot of lookup results for three nearbyrestaurants.

FIG. 12 illustrates a screenshot of the search results which givespositive and negative reviews of the restaurant.

FIG. 13A and FIG. 13B illustrate a methodology of obtaining contextinformation using a pose-sensitive query device.

FIG. 14 illustrates a screenshot of a user interface of the secondapplication that employs a pose-sensitive query device.

FIG. 15 illustrates a methodology of context mapping.

FIG. 16 illustrates another but more detailed dynamic Bayesian networkfor inferring location and activity, employing Web-based locationresources.

FIG. 17 illustrates a block diagram of a computer operable to executethe disclosed architecture.

FIG. 18 illustrates a schematic block diagram of an exemplary computingenvironment.

DETAILED DESCRIPTION

The innovation is now described with reference to the drawings, whereinlike reference numerals are used to refer to like elements throughout.In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding thereof. It may be evident, however, that the innovationcan be practiced without these specific details. In other instances,well-known structures and devices are shown in block diagram form inorder to facilitate a description thereof.

As used in this application, the terms “component” and “system” areintended to refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution. For example, a component can be, but is not limited to being,a process running on a processor, a processor, a hard disk drive,multiple storage drives (of optical and/or magnetic storage medium), anobject, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components canreside within a process and/or thread of execution, and a component canbe localized on one computer and/or distributed between two or morecomputers.

As used herein, terms “to infer” and “inference” refer generally to theprocess of reasoning about or inferring states of the system,environment, and/or user from a set of observations as captured viaevents and/or data. Inference can be employed to identify a specificcontext or action, or can generate a probability distribution overstates, for example. The inference can be probabilistic—that is, thecomputation of a probability distribution over states of interest basedon a consideration of data and events. Inference can also refer totechniques employed for composing higher-level events from a set ofevents and/or data. Such inference results in the construction of newevents or actions from a set of observed events and/or stored eventdata, whether or not the events are correlated in close temporalproximity, and whether the events and data come from one or severalevent and data sources.

While certain ways of displaying information to users are shown anddescribed with respect to certain figures as screenshots, those skilledin the relevant art will recognize that various other alternatives canbe employed. The terms “screen,” “web page,” and “page” are generallyused interchangeably herein. The pages or screens are stored and/ortransmitted as display descriptions, as graphical user interfaces, or byother methods of depicting information on a screen (whether personalcomputer, PDA, mobile telephone, or other suitable device, for example)where the layout and information or content to be displayed on the pageis stored in memory, database, or another storage facility.

Referring initially to the drawings, FIG. 1 illustrates a system 100that facilitates location-based services and user context awareness. Thesystem 100 includes a location component 102 that facilitates thedetermination of a geographic location data of a wireless communicationsdevice of the user (and hence, the associated user). In communicationwith the location component 102 is a context component 104 that incooperation therewith, determines and/or infers the current context ofthe user. In operation, the location component 102 is employed todetermine the location coordinates of the user, which coordinates canthen be used by the context component 104 to search for nearby streets,addresses, structures (e.g., buildings, tunnels, bridges, . . . ) andbusinesses, for example. Once the user location is determined,advertising and user preferences can be applied based on the userlocation and the nearby businesses. These and other related benefits aredescribed in greater detail infra.

In one implementation, the geographic location data is determined byreceiving geographic location signals of a GPS (global positioningsystem) technology. Currently, GPS consists of a constellation oftwenty-four satellites each in its own orbit approximately 11,000 milesabove the earth. Each of the satellites orbits the earth in about twelvehours, and the positions of which are monitored by ground stations. Thesatellites each include atomic clocks for extremely accurate timing(e.g., within three nanoseconds of each other) that provides thecapability to locate the location component 102 (e.g., a handheldterrestrial receiver) on the earth within, in some applications, onemeter resolution.

The GPS location data can be received from the location component 102which is, for example, a wireless assisted GPS (WAGPS) device such as aGPS-enabled cellular telephone, GPS-enabled PDA, etc. WAGPS facilitatesthe transmission of the GPS location data from the location component102 to a remote location. Generally, this can occur through a cellularnetwork (not shown) where the location component 102 is a cellulartelephone, to an IP network (not shown) (e.g., the Internet), andterminating at the remote location, node or device on the Internet or ona subnet thereof.

When receiving geographic location signals from several of the GPSsatellites, the location component 102 can calculate the distance toeach satellite of the communicating satellites and then calculate itsown position, on or above the surface of the earth. However, when thesignals are interrupted or degraded due to terrestrial structures, suchinterrupt time and position information can be useful in determining GPSshadow. A shadow is an area of communications interruption or totalsignal blockage. In the context of GPS, shadows are areas where aterrestrial receiver cannot receive adequate GPS signals due to signalblockage or degradation by any of many types of structures that includebuildings, bridges, trees, hills, water (when submerged) and tunnels,for example. Such shadow information can be utilized in accordance withthe subject invention, and is described infra.

It is to be appreciated, however, that the geographic locationtechnology can also include, for example, WiFi triangulation, cellulartelephone triangulation, radio frequency signal strengths, and digitaltelevision signals.

FIG. 2 illustrates a methodology of providing location-based servicesand user context awareness. While, for purposes of simplicity ofexplanation, the one or more methodologies shown herein, e.g., in theform of a flow chart or flow diagram, are shown and described as aseries of acts, it is to be understood and appreciated that the subjectinnovation is not limited by the order of acts, as some acts may, inaccordance therewith, occur in a different order and/or concurrentlywith other acts from that shown and described herein. For example, thoseskilled in the art will understand and appreciate that a methodologycould alternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, not all illustrated actsmay be required to implement a methodology in accordance with theinnovation.

At 200, geographic location data (e.g., latitude/longitude or “lat/long”data) of the user (e.g., via a GPS-enabled device) is determined. At202, using the location data, a search is performed on websites disposedon a network (e.g., the Internet) for an address (or addresses) thatcorresponds to the lat/long data. It is to be appreciated that theGPS-enable device can communicate the location data to a computingdevice which can access one or more websites of information thatcurrently exist, on the Internet, for example. Thus, no specialdatabases need to be created for operation of the subject invention,since the information desired already exists. Additionally, given thecurrent state of the technology, a single computing device such as aportable computer can be GPS-enabled such that the lat/long data can beused to search the Internet directly via the portable computer. Therecan exist a website, referenced by a hyperlink as returned by the websearch, that converts the lat/long data to streets and addresses.Another website can then be accessed using the streets and/or addressesto search for businesses associated therewith or nearby businesses. Aswill be described hereinbelow, an inference component can be employed tomake inferences as to which of the streets (and/or addresses) can applyto a given set of location data, and optionally, further in view ofprocessed user profile (or preferences) data.

At 204, in that network access is provided, user preferences can also beaccessed and processed against the returned search data. Additionally,history data of past user actions can be tracked and processed foranticipating (or inferring) future actions, and thus, what types of datathat will be presented to the user. At 206, the filtered data ispresented to the user via the user device. At 208, the data presentedcan be continually updated based on changes in user location, or lack ofbeing capable of detecting a change in the user location, for example.

Referring now to FIG. 3, there is illustrated implementation of adynamic Bayesian network 300 for location and context processing. Asillustrated, the network 300 explores multiple observations (callednodes) from a time t−1 to a time t. The following nodes are depicted ina network block 302 at time t−1. A location node 304 provides data(denoted lat/long/alt) to other network nodes related to latitude,longitude, and in this implementation, altitude above the surface of theearth.

The location node 304 connects to provide lat/long/alt data to a GPSshadow node 306, which data can be used to access GPS shadow data (ormaps) for associated lat/long locations, and structures at thoselocations. The GPS shadow mapping data is stored in a GPS shadow logstore 307. The location node 304 also connects to pass data to abarometric pressure node 308 utilized for determining and providingaltitude data of the user (via the user device). It is to be appreciatedthat depth (below the surface of the earth) can also be a parameter. Forexample, it is possible that a hole or depression puts the user locationbelow the earth's surface. Barometric pressure data can be employed todetermine the location of the user relative to the vertical axis.

The location node 304 provides lat/long/alt data to a GPS measurementnode 310 that processes the GPS measurement data in combination with GPSreliability data received from a GPS reliability node 312. Thus, a levelof confidence value of the GPS measurement data can be computed from thereliability data. The GPS reliability node 312 can process additionaldata about the health and status of the device by further receivingdevice health data from a device health node 314.

The location node 304 passes lat/long/alt data to a high-level contextnode 316 that processes all received information to compute a high-levelcontext at time t−1. The context node 316 has an associated locationresources database 317 that receives and stores data related to wherethe user has been (e.g., streets, addresses, and businesses), currentlyis (e.g., streets, addresses, and businesses), user activities performedalong the way, and so on. The context data accumulates over time and iscontinually processed to generate mappings, historical data, update userpreferences, and is used to infer future events and/or activitiesrelated to the user and the user's device, for example. Receivedinformation further includes mean velocity data from a mean velocitynode 318, the mean velocity data computed from a time t−2 (not shown) toa time t−1, and reported temperature data from a reported temperaturenode 320. The reported temperature data can be accessed from existingwebsites. The high-level context node 316 passes data to a GPS fix node322, which GPS fix node 322 also receives data from the GPS shadow node306. Processing this received information, the GPS fix node 322 cancompute the user location also considering the GPS shadow information.The GPS fix node 322 also passes data to the GPS reliability node 312.

The high-level context node 316 passes data to a measured temperaturenode 324 that also received data from the reported temperature node 320.Thus, the temperature node 324 provides a final computed temperature forthe network 300 at time t−1. The network 300 also includes a sensed meanvelocity node 326 that receives mean velocity data from time t−2 to timet−1 to create sensed mean velocity data computed when also consideringGPS reliability data received from the GPS reliability node 312.

The location node 304, mean velocity node and high-level context nodespass data and/or maintain data forward in time to the next time periodt, as denoted in a block 328, when data updates are made for all nodes.

FIG. 4 illustrates a more detailed methodology of location and contextawareness. At 400, the user's geographic location is determined. Theportable device of the user may also employ a number of differentsensors that facilitate more accurately determining the context of theuser by way environmental parameters (e.g., temperature, pressure, andhumidity), and the health of the user device (e.g., is it operatingcorrectly, is it operating correctly while in a GPS shadow, . . . ).Thus, at 402, one or more device sensors and device parameters aremonitored and processed accordingly. At 404, the user of the device isidentified and associated with the location data. At 406, userpreferences are accessed and applied. At 408, a network of websites isaccessed for data related to the location data to define the usercontext according to the user preferences. At 410, the resulting data ispresented to the user via a user device. At 412, the direction of theuser is monitored, as well as the speed of the user. The user context ismodified (or updated) accordingly, in addition to the data presented tothe user.

FIG. 5 illustrates a diagram of a system 500 that employs location andcontext awareness. The system 500 employs GPS, such that a user 502operating a device 504 can be located according to lat/long data derivedtherefrom. A GPS satellite system 506 continually communicates GPSsignals 508 to the device 504 so that the device 504 can compute thelat/long data for the user. If the device 504 is a WAGPS device, thedevice 504 can register with a cellular network 510 having disposedtherewith a wireless registration services system 512 that registers anduniquely identifies the user subscribed to that device 504. Once theuser identity is known, as defined in association with the device 504,user preferences can be accessed from the registration services system512 and/or a user preferences system 514 disposed on an IP network 516(e.g., the Internet) connected to the cellular network 510. In any case,the user preferences can now be employed as a filter for data beingpresented to the user via the device 504 and subscribed services, forthe way in which the device 504 may operate, and for other purposes, asdesired, for example.

Once the user location coordinates are known, the coordinates can beused as search terms for search engines of the IP network 516. Thus,returned search links can be accessed according to some predeterminedcriteria and/or rules (e.g., use website associated with link A beforethe website associated with link B) thereby routing to further existingwebsites such as a geographic map server 518 that can convert thecoordinates into streets and/or addresses, for example. Other websitescan also be automatically accessed to obtain additional information suchas weather information from a weather website 520, includingtemperature, humidity and barometric pressure data, if provided for thelocation of the user. It is to be appreciated that many different typesof rules (or policies) can be implemented to cause automatic searchingand linking of website data sources for the desired information. Suchrules can be employed as part of the user preferences at the userpreference website 514, as part of the subscriber preferences accessedat the registration services site 512, and/or even in the user device504.

Given that the user location is now approximately known, the neareststreet(s) and addresses can be obtained. Additionally, the direction andspeed of the user 502 can also be computed. If the user 502 is moving inthe direction of intersection C, business websites 522 (groupedtogether) of businesses (Company A and Company B) at that intersectionor nearby can also be accessed for advertising information. If the user502 has a history of shopping at these businesses, specials can bepresented to the user 502 via the device 504 based on user preferences,availability of preferred products, reminders to the user of products toget when there, etc. The capabilities that can be employed for the user502 and the businesses (A and B) when user context and location areknown, are enormous.

If the user 502 should enter a GPS shadow 524, or it is determined fromuser course and speed that the user is about to enter the shadow 524,other data and operations can be processed. For example, a shadowmapping and log website 526 provides a database of shadow mappings thatare associated with the structures (of companies A and B) that can beaccessed such that when the user enters the GPS shadow 524, the device504, operating under power management features, can control its GPSsubsystem to enter a power standby mode to conserve power. Additionally,utilizing onboard inference technology, given the user's course andspeed, it can be inferred that the device 504 should stay in standbymode for a calculated period of time based on data associated with theshadow, the likelihood that the user will be indoors at this geographiclocation, past history that there is a high likelihood that the userwill be indoors for an estimated period of time, and based on the needof the user to purchase a product at the business, and so on. The numberand complexity of parameters to be analyzed can be many.

Referring now to FIG. 6, there is illustrated a wireless computingdevice 600 that operates in accordance with the subject innovation. Thedevice 600 includes a location component 602 that determines thelocation data (e.g., lat/long coordinates) of the device 600 inaccordance with a geographic location system (e.g., GPS). The locationcomponent 602 includes the software and hardware that facilitatecalculating the location data for the device 600. The device alsoincludes a context component 604 that processes all context-relateddata, including, but not limited to, streets, addresses, businessinformation, environmental parameters, device health data, and so on.Device health information and environmental parameters can be processedaccording to onboard sensors as part of a device subsystems component606 of the device 600 that measure temperature, humidity, ambientlighting, time of day, day of year, season, and barometric pressure, forexample. Thus, sensor fusion of onboard and/or remote sensor data can beemployed in the context awareness and location determination process ofthe invention.

A power management component 608 facilitates controlling powerfunctions, for example, powering down the device 600 or subsystemsthereof, or placing them in a standby mode for later wakeup. Powermanagement can also control device systems and subsystems based onbattery parameters, such as available battery life, type of battery,etc. As described supra, if the device 600 is brought into acommunications shadow, where certain onboard subsystems are no longereffective, such subsystems can be controlled into a standby mode, oreven powered down. The power management component 608 includes thehardware and software to provide such capabilities. As described herein,and in accordance with the invention, the wireless computing device 600interfaces with a plurality of existing network-based services 610 viawebsites that provide coordinate-conversion data, weather information,user preferences, etc.

In this particular embodiment, the device 600 can include a machinelearning and reasoning component 612 that employs probabilistic and/orstatistical-based analysis to prognose or infer an action that a userdesires to be automatically performed. The subject invention (e.g., inconnection with selection) can employ various MLR-based schemes forcarrying out various aspects thereof. For example, a process fordetermining what website to access based upon a number of search resultscan be facilitated via an automatic classifier system and process.Moreover, where the data is distributed over several network locations,and each location has the desired data, the classifier can be employedto determine which location to access. If the preferred website returnsdata at a much slower rate, or is offline, the MLR component 612 canfacilitate determining how to proceed in order to obtain the desireddata.

A classifier is a function that maps an input attribute vector, x=(x1,x2, x3, x4, xn), to a class label class(x). The classifier can alsooutput a confidence that the input belongs to a class, that is,f(x)=confidence(class(x)). Such classification can employ aprobabilistic and/or statistical-based analysis (e.g., factoring intothe analysis utilities and costs) to prognose or infer an action that auser desires to be automatically performed.

A support vector machine (SVM) is an example of a classifier that can beemployed. The SVM operates by finding a hypersurface in the space ofpossible inputs that splits the triggering input events from thenon-triggering events in an optimal way. Intuitively, this makes theclassification correct for testing data that is near, but not identicalto training data. Other directed and undirected model classificationapproaches include, e.g., naïve Bayes, Bayesian networks, decisiontrees, neural networks, fuzzy logic models, and probabilisticclassification models providing different patterns of independence canbe employed. Classification as used herein also is inclusive ofstatistical regression that is utilized to develop models of priority.

As will be readily appreciated from the subject specification, thesubject invention can employ classifiers that are explicitly trained(e.g., via a generic training data) as well as implicitly trained (e.g.,via observing user behavior, receiving extrinsic information). Forexample, SVM's are configured via a learning or training phase within aclassifier constructor and feature selection module. Thus, theclassifier(s) can be used to automatically learn and perform a number offunctions, including but not limited to determining according topredetermined criteria which shadow map(s) to employ based on course andspeed of the device 600, and which businesses, streets and addresses toreturn based on the location data, and environmental data.

As described supra, inferences can be made, and operations performed,based on numerous pieces of information. For example, when a user shopsin a general location many different times, historical information canbe generated about a route the user may take to arrive at the location,the communications shadows that the user typically intersects on thatroute, the average time spent on the route and at various stops alongthe route, items purchased and where, money spent (and on whatproducts), and so on. As the database of information accumulates forthis user, the data is analyzed to determine converging patterns suchthat inferences can be made. Thus, expectations based on habits andfrequencies of access can be targeted by companies and businesses alongthe route. Reminders, whether manually entered by the user orautomatically generated based on past activities, can be generated orsuggestions made based on the time of past purchases and preferredproducts.

As further described supra, power management capabilities can take intoconsideration similar types of user activity data. For example, if theuser typically spends several hours in a business district shopping,working, etc., it can be inferred in accordance with some level ofconfidence that in future instances, the device 600 should be controlledaccordingly (e.g., controlled to standby or power-down mode) if the userenters that location again. Similarly, if it is determined that theuser's course and speed is normally associated with riding in a vehicle,and that the user typically rides a vehicle at this location, the device600 can be set to standby mode until such time that the ride normallyterminates, as measured from previous ride data. Power management caninclude different modes of hibernation based on use, motion, batterylife, etc. In another implementation, the effect of sensor failure ofone or more sensors (e.g., due to sensor failure, battery failure orcondition) can be analyzed and computed to determine the cost to theoverall mission. In yet another example, where a camera imager isemployed, pixel usage can be managed based on the application, location,and context. Thus, instead of using all five megapixels, only half ofthe pixels are employed, for example.

The MLR component 612 can also be employed to build probabilisticmodels, such as graphical probabilistic models like Bayesian networks,that can be used to infer probability distributions over one or morepersons' activities. The probability distributions can be inferred byintegrating multiple sources of information including sensed location,reliability of location (e.g., via satellite signal strengths),resources such as Web information and yellow pages information about theaddress, velocity, velocity dynamics (e.g., how velocity has recentlychanged), barometric pressure, temperature, pattern of the loss of a GPSsignal (e.g., velocity went to zero and then the GPS signal was lost),time of day, day of week, and so on.

Time can be considered since an activity or the likely activity (underuncertainty) was carried out, in a “satiation model,” e.g., if a personjust likely stopped at a restaurant (e.g., slowed down to a stop and GPSsignals lost at noon near a bank of restaurants, per yellow pages mappedto address where signal lost) and likely ate lunch, then it is unlikelythe person is stopping at a restaurant again after leaving the likelylunch spot and then stops, and the GPS signal lost at a locationassociated with a hardware store and a restaurant. A lower probabilitycan then be assigned to the restaurant for the second stop and higher tothe hardware store. Additionally, in retrospective (e.g., even nearreal-time), if a stop is quick such that the traveler is likely noteating but doing something else, a lower probability can then beassigned.

Another example is if a user stops at a likely gas station, then stops acouple of hours later at a place that cannot be discriminated precisely,but that includes a gas station, a flower shop, and other retail shops,the likelihood that a user is buying gas again is low, given that a cartank holds enough gas to tide the driver over for a couple of days. Thissatiation model can be part of the probabilistic inference.

FIG. 7 illustrates a methodology of facilitating location and contextawareness. At 700, the geographic location of the user is determined. At702, the user is identified and associated with the location data. At704, user preferences are accessed and applied. At 706, Internetwebsites are accessed for the desired data related to user location andto facilitate defining user context. At 708, data is presented to theuser via the wireless computing device. At 710, user course and speedare computed and monitored, along with user interaction and deviceparameters. At 712, device operation and the presentation of data can beinitiated according to manual selections of the user. Alternatively, andin accordance with AI capabilities, aspects of user context, deviceoperation, and data presentation can be inferred from any number ofdifferent data, as indicated at 714.

FIGS. 8-14 support a description of novel applications that use existinglocation data on the Internet in conjunction with position informationfrom a GPS receiver. In this way, the deployment costs of creating adatabase of location information are avoided, relying instead on what isalready available. These applications show that it is possible to createuseful location-based services using existing location data.

FIG. 8 illustrates a methodology of employing existing network data toconvert lat/long data for web searches that return web pages relevant tothe user's immediate surroundings. This first application, a “contextresolver”, infers a user context based on his or her GPS coordinates,queries from an Internet mapping service, and general Internet searches.At 800, a GPS receiver is provided along with a computing system thatcan access a network of existing websites. At 802, GPS signals arereceived to determine the lat/long location information. At 804, thelat/long data is used as search engine search terms to access a websitethat converts it to return a nearest street address. At 806, the streetaddress is used a search data to return links to web pages associatedwith nearby street addresses. At 808, the nearby street addresses areconverted into associated business names by again, accessing a websitethat provides such a service. At 810, the lat/long data is used tofilter the list of nearby businesses of the street addresses down to alist of names nearby businesses relevant to the user. At 812, the streetaddresses and business names are then presented to the user via thecomputing device.

The first application is designed to give information about a mobileuser's immediate surroundings. It is assumed the user is equipped with aGPS receiver and Internet-connected computer. Beginning with thelat/long data, software can be employed to compute the nearest streetaddress. FIG. 9 illustrates a screenshot 900 of a client and serverparts that process lat/long data points measured from an urban drivewith a GPS receiver providing recordings at several different locations.Each measured location can be resolved, which triggers the streetaddress lookup, and the results of which are shown in a popup window onthe map.

The conversion from lat/long to street address is significant, becausethe street address serves as a good search term for Internet searches.FIG. 10 illustrates a screenshot 1000 giving the result of a searchautomatically performed on the resolved street address. The searchresults give links to web pages that contain the nearby street address,resulting in entries for a nearby acupuncturist, chiropractor, andrestaurant.

Not all relevant web pages contain a street address that matches thesearch terms. Thus, lat/long data can also be converted into a list ofnearby businesses. An existing web service is accessed that uses adatabase of business locations which are categorized by type, such asfood stores, automobile dealers, and restaurants. FIG. 11 illustrates ascreenshot 1100 of lookup results for three nearby restaurants, one ofwhich is called “Stuart Anderson's Black Angus”. After the user clickson this result, the context resolver application automatically runsanother network search using the restaurant name as a search term. FIG.12 illustrates a screenshot 1200 of the search results which givespositive and negative reviews of the restaurant. Starting with GPScoordinates, the user can find this review page with only two mouseclicks using the context resolver application.

The first application includes preprocessing step of converting thenumerical lat/long data into a street address or business name, whichallows the local search to be completely automated based on the GPSreceiver. The first application requires no special databases, butinstead exploits the extensive amount of data already available on theInternet. It is unique in that it uses a measured position to ultimatelyindex into web pages about nearby things.

A second application includes pointing a pose-sensitive query device ata scene of interest and obtaining a list of businesses that are situatedalong that direction. The second application is based on a device (or acombination of intercommunicating devices) containing a GPS receiver,electronic compass, and network connection. The user physically pointsthe device at something and issues a query. The application respondswith a list of businesses or other points of interest along thedirection of pointing. The second application uses a network-basedmapping service to find businesses in the direction of pointing, usingthe GPS coordinates and the electronic compass. It is also allows amobile user to point toward an outside object and discover what isinside or behind it.

Accordingly, FIG. 13A and FIG. 13B illustrate a methodology of obtainingcontext information using a pose-sensitive query device. At 1300, acomputing device is provided that includes a GPS receiver and anelectronic compass, and can access a network (e.g., the Internet). At1302 the device is pointed towards a desired area. At 1304, a GPS signalis acquired and the lat/long data of the device is computed. At 1306,compass data is processed to determine the pointing direction. At 1308,the radial distance that the user chooses to investigate is set. Inother words, if the user chooses to search for businesses that are ahalf mile away, the user would not want information for all businessesthat are be beyond the half mile distance to clutter the search results.Moreover, the user may not want to search for businesses that are lessthan a quarter mile away. Thus, the user can set a radial range of, forexample, all businesses within the filed of view that are within 500feet (near and far) of a location one-half mile away from the user.

At 1310, coordinates are computed for the desired location or range oflocations on the radial line from the user. At 1312, using thesecomputed coordinates, a search of network websites is conducted.Referring now to FIG. 13B, street addresses are returned that areassociated with the coordinates provided, as indicated at 1314. At 1316,the street addresses are used as search terms that return links towebsites that can convert the addresses into associated business names.At 1318, filters can be applied, such as user preferences, to limit ornarrow the amount of data returned to the computing device forprocessing. At 1320, a final list of street addresses and business namesare presented to the user via the computing device. An ideal computingdevice platform would be a cell phone with GPS capability, an electroniccompass, and Internet access.

FIG. 14 illustrates a screenshot 1400 of a user interface of the secondapplication that employs a pose-sensitive query device. In this example,the device has been pointed toward a street that the user cannot yetsee, and its “field of view” (or query cone) has been adjusted to queryover the length of the unseen block. The list at the right showsdifferent categories of items returned from a website database. The“Apparel” and “Eating and drinking” categories have been expanded toshow the names of places inside the query cone. Clicking on one of theseplaces puts an icon on the map at its location. Using this program,users can quickly get a sense of what is around them by simply pointingin a direction of interest. As with the first application above, thisapplication also relies on a rich, existing database of places, meaningthat it works “out of the box” with no deployment costs.

Referring now to FIG. 15, there is illustrated a methodology of contextmapping. A third application builds a map and clickable links to helpautomatically annotate a trip based on GPS coordinates. At 1500, aGPS-enabled computing device is provided. It is not required that theGPS capability be integrated into the computing device; however, suchcombined capabilities provide a much more convenient application of thesubject invention. At 1502, the computing device continually monitorsits location using GPS, and processes the GPS signals to generatelat/long coordinates. At 1504, the device user is identified andassociated with the location data. At 1506, the computing device isemployed to access a network of existing websites (e.g., the Internet),using the lat/long coordinates as search terms to find websites thatprocess the coordinates. User preferences, as accessed, can also be usedto filter and further define the user context at this location. In otherwords, for each set of coordinates, the user context can be defined interms of nearby streets, nearby businesses, environment, and so on. At1508, the context information is used to generate a map of where theuser has been, and in more robust implementations, predictions on wherethe user is likely to head. At 1510, the map can be annotated accordingto user preferences, and stored.

It is to be appreciated that many data aspects of the subject inventioncan be cached at various locations for faster access and processing. Forexample, where is it known that the user is generating activity viadevice communications, location information processing, etc., some ofthe existing data being processed can be cached in the user device.Additionally, or alternatively, caching can occur at a website thatstores user preferences. Still further, a website can be designedspecifically for the purpose of enabling high-speed data processing andcaching to facilitate various aspects of the subject invention.

FIG. 16 illustrates another but more detailed dynamic Bayesian network1600 for inferring location and activity, employing Web-based locationresources. The probabilistic dependencies among random variableshighlight the influences of multiple sources of contextual evidence onthe probability distribution over activities and location. Web-basedlocation resources provide evidential updates about activities. Themodel considers variables representing the likelihood that a user isindoors versus outdoors as a function of multiple variables includingdifferences in temperature indoors and outdoors, GPS fix, and a log ofknown GPS shadows. Multiple variables also update the probabilitydistribution over the current location as a function of multiple sourcesof information.

Semantic content associated with locations on the Web can provide richsources of evidence about users' activities over time. Generalprobabilistic models can be provided with the capability to fusemultiple sources of information. Such models can be used to performinferences about a user's activities from the historical and short-termgeographic location data (e.g., GPS), as well as extended sensing withsuch information as temperature, barometric pressure, ambient light andsound, and Web data. Web content can be used to update, in an automatedmanner, a set of key resources and venues available at differentlocations, providing Bayesian dependency models with sets of resourcesthat are coupled to an ontology of activities (e.g., shopping,restaurants, recreation, government offices, schools, entertainment, . .. ). Such information can be used as a rich source of evidence in aprobabilistic model that computes the likelihood of different plausibleactivities.

Inferences can further take into consideration the dwelling of a user ata location with zero or small velocities and the complete loss of GPSsignals at particular locations for varying periods of time, indicatingthat a user has entered a structure the blocks receipt of GPS signals.The timing, velocity, and frank loss of signal after a slowing ofvelocity provide rich evidence about a user's interests or entries intodifferent proximal buildings and structures, as characterized by thecontent drawn from the Web about resources in the region of the lastseen GPS coordinates. Such reasoning can be enhanced by a tagged log ofprior activities noted by a user. Reasoning about losses of GPS signalcan take into consideration a log of known “GPS shadows,” that are notassociated with being inside buildings, such as those occurring inside“urban valleys,” as GPS access is blocked by tall structures. Richprobabilistic models of activity and location based on multiple sourcesof information, including information available from the Web and fromlogs of prior activities and GPS availability.

FIG. 16 displays a time slice of a more general dynamic Bayesian networkmodel, showing probabilistic dependencies among key measurements andinferences. Server icons signify access of information from the Webabout local resources as well as access from a store of known GPSshadows. The model is designed to make inferences about the probabilitydistribution over a user's activities and over the location of a user,even when GPS signals are unreliable or lost temporarily. Sub-inferencesinclude computation about whether a user is indoors or outdoors,employing information about the loss of GPS signals, a log of GPSshadows, information about local resources to the current location, andsensed temperature.

Here, two variables 1602 from an adjacent, earlier time slice areillustrated to highlight the potential value of including dependenciesamong variables in adjacent time slices. The variables 1602 includelatitude, longitude and altitude, and activity at time t−1. Suchinformation is fed forward to an activity t. The activity t receivesother information, including day of week, time of day, season, indoorversus outdoor, barometric altitude, duration a velocity zero, GPSmeasurement, duration when no GPS signal, and access to a Web-basedlocation source.

The indoor versus outdoor node receives input from the time of day node,season node, a Web-based outside temperature report, a location node for(lat,long,alt) at time t, GPS shadow information, and duration when noGPS signal is received. The measured temperature node received inputfrom the Web-base outside temperature report node, and indoor versusoutdoor node. The barometric altitude node receives input from thelocation node and the indoor versus outdoor node. The duration velocityzero node receives input from a mean velocity node and a GPS fix node.The GPS measurement node receives input from the location node and a GPSreliability node. The GPS reliability node receives input from the GPSfix node. The GPS shadow node receives input from the location node. AGPS shadow log is provided that forms the database for all GPS shadowsdetected.

Knowledge of a user's raw (latitude, longitude) is not normally veryuseful. However, with publicly available databases, locationmeasurements can be converted into useful information. Applicationsutilize raw GPS readings, and using publicly available Web data, produceuseful information. The Web (or Internet), in addition to other sourcesof information, can be utilized to support rich probabilistic inferencesabout a user's activities and location. Such inferences can provide awindow into a user's activities as well as access to locationinformation even when GPS fixes become erroneous or are lost completely.Indeed, such models can take losses of GPS signal as valuable evidencefor making inferences about activities and location.

Referring now to FIG. 17, there is illustrated a block diagram of acomputer operable to execute the disclosed architecture. In order toprovide additional context for various aspects of the subject invention,FIG. 17 and the following discussion are intended to provide a brief,general description of a suitable computing environment 1700 in whichthe various aspects of the invention can be implemented. While theinvention has been described above in the general context ofcomputer-executable instructions that may run on one or more computers,those skilled in the art will recognize that the invention also can beimplemented in combination with other program modules and/or as acombination of hardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the inventive methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, as well as personalcomputers, hand-held computing devices, microprocessor-based orprogrammable consumer electronics, and the like, each of which can beoperatively coupled to one or more associated devices.

The illustrated aspects of the invention may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

A computer typically includes a variety of computer-readable media.Computer-readable media can be any available media that can be accessedby the computer and includes both volatile and non-volatile media,removable and non-removable media. By way of example, and notlimitation, computer-readable media can comprise computer storage mediaand communication media. Computer storage media includes both volatileand non-volatile, removable and non-removable media implemented in anymethod or technology for storage of information such ascomputer-readable instructions, data structures, program modules orother data. Computer storage media includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalvideo disk (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the computer.

Communication media typically embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism, and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of the anyof the above should also be included within the scope ofcomputer-readable media.

With reference again to FIG. 17, the exemplary environment 1700 forimplementing various aspects of the invention includes a computer 1702,the computer 1702 including a processing unit 1704, a system memory 1706and a system bus 1708. The system bus 1708 couples system componentsincluding, but not limited to, the system memory 1706 to the processingunit 1704. The processing unit 1704 can be any of various commerciallyavailable processors. Dual microprocessors and other multi-processorarchitectures may also be employed as the processing unit 1704.

The system bus 1708 can be any of several types of bus structure thatmay further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and a local bus using any of a variety ofcommercially available bus architectures. The system memory 1706includes read-only memory (ROM) 1710 and random access memory (RAM)1712. A basic input/output system (BIOS) is stored in a non-volatilememory 1710 such as ROM, EPROM, EEPROM, which BIOS contains the basicroutines that help to transfer information between elements within thecomputer 1702, such as during start-up. The RAM 1712 can also include ahigh-speed RAM such as static RAM for caching data.

The computer 1702 further includes an internal hard disk drive (HDD)1714 (e.g., EIDE, SATA), which internal hard disk drive 1714 may also beconfigured for external use in a suitable chassis (not shown), amagnetic floppy disk drive (FDD) 1716, (e.g., to read from or write to aremovable diskette 1718) and an optical disk drive 1720, (e.g., readinga CD-ROM disk 1722 or, to read from or write to other high capacityoptical media such as the DVD). The hard disk drive 1714, magnetic diskdrive 1716 and optical disk drive 1720 can be connected to the systembus 1708 by a hard disk drive interface 1724, a magnetic disk driveinterface 1726 and an optical drive interface 1728, respectively. Theinterface 1724 for external drive implementations includes at least oneor both of Universal Serial Bus (USB) and IEEE 1394 interfacetechnologies. Other external drive connection technologies are withincontemplation of the subject invention.

The drives and their associated computer-readable media providenonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For the computer 1702, the drives and mediaaccommodate the storage of any data in a suitable digital format.Although the description of computer-readable media above refers to aHDD, a removable magnetic diskette, and a removable optical media suchas a CD or DVD, it should be appreciated by those skilled in the artthat other types of media which are readable by a computer, such as zipdrives, magnetic cassettes, flash memory cards, cartridges, and thelike, may also be used in the exemplary operating environment, andfurther, that any such media may contain computer-executableinstructions for performing the methods of the invention.

A number of program modules can be stored in the drives and RAM 1712,including an operating system 1730, one or more application programs1732, other program modules 1734 and program data 1736. All or portionsof the operating system, applications, modules, and/or data can also becached in the RAM 1712. It is appreciated that the invention can beimplemented with various commercially available operating systems orcombinations of operating systems.

A user can enter commands and information into the computer 1702 throughone or more wired/wireless input devices, e.g., a keyboard 1738 and apointing device, such as a mouse 1740. Other input devices (not shown)may include a microphone, an IR remote control, a joystick, a game pad,a stylus pen, touch screen, or the like. These and other input devicesare often connected to the processing unit 1704 through an input deviceinterface 1742 that is coupled to the system bus 1708, but can beconnected by other interfaces, such as a parallel port, an IEEE 1394serial port, a game port, a USB port, an IR interface, etc.

A monitor 1744 or other type of display device is also connected to thesystem bus 1708 via an interface, such as a video adapter 1746. Inaddition to the monitor 1744, a computer typically includes otherperipheral output devices (not shown), such as speakers, printers, etc.

The computer 1702 may operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer(s) 1748. The remotecomputer(s) 1748 can be a workstation, a server computer, a router, apersonal computer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer1702, although, for purposes of brevity, only a memory/storage device1750 is illustrated. The logical connections depicted includewired/wireless connectivity to a local area network (LAN) 1752 and/orlarger networks, e.g., a wide area network (WAN) 1754. Such LAN and WANnetworking environments are commonplace in offices and companies, andfacilitate enterprise-wide computer networks, such as intranets, all ofwhich may connect to a global communications network, e.g., theInternet.

When used in a LAN networking environment, the computer 1702 isconnected to the local network 1752 through a wired and/or wirelesscommunication network interface or adapter 1756. The adaptor 1756 mayfacilitate wired or wireless communication to the LAN 1752, which mayalso include a wireless access point disposed thereon for communicatingwith the wireless adaptor 1756.

When used in a WAN networking environment, the computer 1702 can includea modem 1758, or is connected to a communications server on the WAN1754, or has other means for establishing communications over the WAN1754, such as by way of the Internet. The modem 1758, which can beinternal or external and a wired or wireless device, is connected to thesystem bus 1708 via the serial port interface 1742. In a networkedenvironment, program modules depicted relative to the computer 1702, orportions thereof, can be stored in the remote memory/storage device1750. It will be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers can be used.

The computer 1702 is operable to communicate with any wireless devicesor entities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This includes at least WiFi and Bluetooth™wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

WiFi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. WiFi is a wireless technology similar to that used in acell phone that enables such devices, e.g., computers, to send andreceive data indoors and out; anywhere within the range of a basestation. WiFi networks use radio technologies called IEEE 802.11(a, b,g, etc.) to provide secure, reliable, fast wireless connectivity. A WiFinetwork can be used to connect computers to each other, to the Internet,and to wired networks (which use IEEE 802.3 or Ethernet). WiFi networksoperate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps(802.11a) or 54 Mbps (802.11b) data rate, for example, or with productsthat contain both bands (dual band), so the networks can providereal-world performance similar to the basic 10BaseT wired Ethernetnetworks used in many offices.

Referring now to FIG. 18, there is illustrated a schematic block diagramof an exemplary computing environment 1800 in accordance with thesubject invention. The system 1800 includes one or more client(s) 1802.The client(s) 1802 can be hardware and/or software (e.g., threads,processes, computing devices). The client(s) 1802 can house cookie(s)and/or associated contextual information by employing the invention, forexample.

The system 1800 also includes one or more server(s) 1804. The server(s)1804 can also be hardware and/or software (e.g., threads, processes,computing devices). The servers 1804 can house threads to performtransformations by employing the invention, for example. One possiblecommunication between a client 1802 and a server 1804 can be in the formof a data packet adapted to be transmitted between two or more computerprocesses. The data packet may include a cookie and/or associatedcontextual information, for example. The system 1800 includes acommunication framework 1806 (e.g., a global communication network suchas the Internet) that can be employed to facilitate communicationsbetween the client(s) 1802 and the server(s) 1804.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1802 are operatively connectedto one or more client data store(s) 1808 that can be employed to storeinformation local to the client(s) 1802 (e.g., cookie(s) and/orassociated contextual information). Similarly, the server(s) 1804 areoperatively connected to one or more server data store(s) 1810 that canbe employed to store information local to the servers 1804.

What has been described above includes examples of the disclosedinnovation. It is, of course, not possible to describe every conceivablecombination of components and/or methodologies, but one of ordinaryskill in the art may recognize that many further combinations andpermutations are possible. Accordingly, the innovation is intended toembrace all such alterations, modifications and variations that fallwithin the spirit and scope of the appended claims. Furthermore, to theextent that the term “includes” is used in either the detaileddescription or the claims, such term is intended to be inclusive in amanner similar to the term “comprising” as “comprising” is interpretedwhen employed as a transitional word in a claim.

1-20. (canceled)
 21. A method of operating a location aware wirelessdevice, the method comprising: computing a location of the locationaware wireless device; predicting a future activity of a user based onuser context and the computed location; determining a direction based oninput received from the user; determining a field of view associatedwith the direction; searching at least one network resource, using asearch query, for identities of businesses within the determined fieldof view that relate to the predicted future activity, the search querybeing based at least on the computed location, the determined field ofview, and the predicted future activity; retrieving a list of identitiesof businesses that satisfy the search query; retrieving additionalinformation regarding at least one of the identified businesses;inferring, based upon historical data associated with the user and userpreferences, that at least a portion of the retrieved additionalinformation may be of potential interest to the user; and presenting atleast the portion of the retrieved additional information to the user.22. The method of claim 21, wherein the method further comprises:querying a shadow log to determine if the location aware wireless devicehas or is about to enter a communications shadow.
 23. The method ofclaim 21, wherein the method further comprises: determining an identityof the user; and storing the retrieved additional information regardingat least one business in association with the identity as at least aportion of the historical data.
 24. The method of claim 21, wherein themethod further comprises: filtering the retrieved additional informationbased on the user preferences.
 25. The method of claim 21, whereindetermining the direction includes: computing the direction in which thelocation aware wireless device is moving.
 26. The method of claim 21,wherein the user context comprises a time since an activity of the sametype as the predicted future activity was carried out.
 27. The method ofclaim 21, wherein the user context comprises at least one environmentalparameter, the at least one environmental parameter comprising at leastone of ambient lighting, time of day, day of year, and season.
 28. Themethod of claim 21, wherein the retrieved additional information that isinferred to be of potential interest to the user includes informationregarding a business located inside or behind a structure situated inthe direction.
 29. The method of claim 21, wherein inferring that theportion of the retrieved additional information may be of potentialinterest to the user includes: employing a probabilistic and/orstatistical-based analysis to infer a situation or an action that theuser desires to be automatically performed.
 30. A computer-readablestorage memory, not comprising a signal per se, that has instructionsstored therein for providing location based services to a mobile deviceby performing operations, the operations comprising: computing alocation of the mobile device; predicting a future activity of a userbased on user context and the computed location; determining a directionbased on input received from the user; determining a field of viewassociated with the direction; searching at least one network resource,using a search query, for identities of businesses within the determinedfield of view that relate to the predicted future activity, the searchquery being based at least on the computed location, the determinedfield of view, and the predicted future activity; retrieving a list ofidentities of businesses that satisfy the search query; retrievingadditional information regarding at least one of the identifiedbusinesses; inferring, based upon historical data associated with theuser and user preferences, that at least a portion of the retrievedadditional information may be of potential interest to the user; andpresenting at least the portion of the retrieved additional informationto the user.
 31. The computer-readable storage memory of claim 30,wherein determining the direction includes: computing the direction inwhich the mobile device is moving.
 32. The computer-readable storagememory of claim 30, wherein the user context comprises: a time since anactivity of the same type as the predicted future activity was carriedout; and at least one environmental parameter, the at least oneenvironmental parameter comprising at least one of ambient lighting,time of day, day of year, and season.
 33. The computer-readable storagememory of claim 30, wherein the retrieved additional information that isinferred to be of potential interest to the user includes informationregarding a business located inside or behind a structure situated inthe direction.
 34. The computer-readable storage memory of claim 30,wherein inferring that at least the portion of the retrieved additionalinformation may be of potential interest to the user includes: employinga probabilistic and/or statistical-based analysis to infer a situationor an action.
 35. A wireless device, comprising: a memory and aprocessor that are respectively adapted to store and executeinstructions that implement operations, the operations comprising:computing a location of the wireless device; predicting a futureactivity of a user based on user context and the computed location;determining a direction based on input received from the user;determining a field of view associated with the direction; searching atleast one network resource, using a search query, for identities ofbusinesses within the determined field of view that relate to thepredicted future activity, the search query being based at least on thecomputed location, the determined field of view, and the predictedfuture activity; retrieving a list of identities of businesses thatsatisfy the search query; retrieving additional information regarding atleast one of the identified businesses; inferring, based upon historicaldata associated with the user and user preferences, that at least aportion of the retrieved additional information may be of potentialinterest to the user; and presenting at least the portion of theretrieved additional information to the user.
 36. The wireless device ofclaim 35, wherein determining the direction includes: computing thedirection in which the wireless device is moving.
 37. The wirelessdevice of claim 35, wherein the user context comprises a time since anactivity of the same type as the predicted future activity was carriedout.
 38. The wireless device of claim 35, wherein the user contextcomprises at least one environmental parameter, the at least oneenvironmental parameter comprising at least one of ambient lighting,time of day, day of year, and season.
 39. The wireless device of claim35, wherein the retrieved additional information that is inferred to beof potential interest to the user includes information regarding abusiness located inside or behind a structure situated in the direction.40. The wireless device of claim 35, wherein inferring that at least theportion of the retrieved additional information may be of potentialinterest to the user includes: employing a probabilistic and/orstatistical-based analysis to infer a situation or an action.